// 编写一个 Node.js 脚本，将指定目录下的所有文件备份到另一个目录中。备份文件的命名规则为：原文件名_备份时间戳。
// 提示：使用 fs.readdir()、fs.copyFile() 和 Date.now()。

// 导入模块
const fs = await import("fs");

// 路径
const path = "./files";

// 新目录路径
const new_path = "copy_files";

// 创建函数
function copy(oldPath, newPath) {
  // 首先先创建新目录
  fs.mkdir(newPath, (err) => {
    if (err) {
      console.log(err);
    } else {
      // 目录创建成功后接着复制目录中的文件
      fs.readdir(oldPath, (err, files) => {
        if (err) {
          console.log(err);
        } else {
          // 遍历复制目录中的文件
          for (let i = 0; i < files.length; i++) {
            fs.copyFile(
              `${oldPath}/${files[i]}`,
              `./${newPath}/${files[i]}_${Date.now()}`,
              (err) => {
                if (err) {
                  console.log(err);
                } else {
                  console.log(`${files[i]}复制成功`);
                }
              }
            );
          }
        }
      });
    }
  });
}

// 调用并传入参数
copy(path, new_path);
